x86: IRQ affinity should track vCPU affinity
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 17 Jun 2010 06:22:06 +0000 (07:22 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 17 Jun 2010 06:22:06 +0000 (07:22 +0100)
commit38b998cfb6e8b572a265bb6ba400a1db700e5882
tree48c0ab213ece61a89dffabc452fbdd3285506238
parent56d6b7ac5dedb2413b22713e3760a617a3d5e260
x86: IRQ affinity should track vCPU affinity

With IRQs getting bound to the CPU the binding vCPU currently runs on
there can result quite a bit of extra cross CPU traffic as soon as
that vCPU moves to a different pCPU. Likewise, when a domain re-binds
an event channel associated with a pIRQ, that IRQ's affinity should
also be adjusted.

The open issue is how to break ties for interrupts shared by multiple
domains - currently, the last request (at any point in time) is being
honored.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 files changed:
xen/arch/ia64/xen/irq.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/irq.c
xen/common/event_channel.c
xen/common/sched_credit.c
xen/common/sched_credit2.c
xen/common/sched_sedf.c
xen/common/schedule.c
xen/include/asm-x86/irq.h
xen/include/xen/cpumask.h
xen/include/xen/event.h
xen/include/xen/irq.h
xen/include/xen/sched-if.h
xen/include/xen/sched.h